layui.use(['form', 'table','layuimini','element', 'tableSelect'], function () {
    var $ = layui.jquery,
        form = layui.form,
        table = layui.table,
        layuimini = layui.layuimini,
        tableSelect = layui.tableSelect;

    /**
     * 初始化表单，要加上，不然刷新部分组件可能会不加载
     */
    form.render();

    var BoContent = {
        id: 'BoContentTable'
    };

    var column = [
        [
            {type: 'numbers'},
            {field: 'contentColumnName', title: '栏目', align: 'center'},
            {field: 'id', title: '编号', align: 'center'},
            {field: 'title', title: '标题', align: 'center'},
            {field: 'content', title: '内容', align: 'center'},
            {field: 'updateDate', title: '更新时间', minWidth: 120, align: 'center'},
            {templet: '#stateBtn', width: 140, align: 'center', title: '操作'}
        ]
    ];

    table.render({
        elem: '#' + BoContent.id,
        url: '/web/boContent/list',
        toolbar: '#toolbarBtn',
        defaultToolbar: ['filter', 'exports', 'print'],
        cols: column,
        limits: [10, 15, 20, 25, 50, 100],
        limit: 15,
        page: true
    });

    // 监听搜索操作
    $("#data-search-btn").on('click', function () {

        //获取搜索条件
        var title = $("#search_title").val();
        var contentColumnId = $("#search_contentColumnId").val();

        //封装
        var dataObject = {};
        dataObject['title'] = title;
        dataObject['contentColumnId'] = contentColumnId;
        var result = JSON.stringify(dataObject);

        //执行搜索重载
        table.reload(BoContent.id, {
            page: {
                curr: 1
            }
            , where: {
                searchParams: result
            }
        }, 'data');

        return false;
    });

    // 监听重置操作
    $("#data-reset-btn").on('click', function () {

        //初始化
        $("#search_title").val("");
        $("#search_contentColumnId").val("");
        $("#search_contentColumnName").val("");

        form.render();

        //封装
        var dataObject = {};
        dataObject['title'] = "";
        dataObject['contentColumnId'] = "";
        var result = JSON.stringify(dataObject);

        //执行搜索重载
        table.reload(BoContent.id, {
            page: {
                curr: 1
            }
            , where: {
                searchParams: result
            }
        }, 'data');

        return false;
    });

    //下拉选择
    //默认值:只需要在触发input上添加 ts-selected="1,2,3" 属性即可 值需与checkedKey对应
    tableSelect.render({
        elem: '#search_contentColumnName',	//定义输入框input对象 必填
        checkedKey: 'id', //表格的唯一建值，非常重要，影响到选中状态 必填
        searchKey: 'name',	//搜索输入框的name值 默认keyword
        searchPlaceholder: '栏目名称搜索',	//搜索输入框的提示文字 默认关键词搜索
        table: {	//定义表格参数，与LAYUI的TABLE模块一致，只是无需再定义表格elem
            url:'/web/boContentColumn/list',
            cols: [
                [
                    {type: 'radio'},
                    {field: 'name', title: '栏目名称', align: 'center'}
                ]
            ],
            limits: [10, 15, 20, 25, 50, 100],
            limit: 15,
            page: true
        },
        done: function (elem, data) {
            //选择完后的回调，包含2个返回值 elem:返回之前input对象；data:表格返回的选中的数据 []
            //拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
            $("#search_contentColumnName").val(data.data[0].name);
            $("#search_contentColumnId").val(data.data[0].id);
        }
    });

    // 监听添加操作
    $(".layuimini-container").on("click", "#add-btn", function () {
        var content = layuimini.getHrefContent('/web/boContent/addOrEdit');
        var index = layer.open({
            title: '添加内容',
            type: 1,
            shade: 0.2,
            maxmin:true,
            shadeClose: false,
            area: ['80%','90%'], //宽高
            content: content,
            end: function(){
                //刷新表格
                table.reload(BoContent.id);
            }
        });

        return true;
    });

    /**
     * 点击编辑按钮
     * @param id
     */
    BoContent.edit = function(id){
        var content = layuimini.getHrefContent('/web/boContent/addOrEdit?id=' + id);
        var index = layer.open({
            title: '编辑内容',
            type: 1,
            shade: 0.2,
            maxmin:true,
            shadeClose: false,
            area: ['80%','90%'], //宽高
            content: content,
            end: function(){
                //刷新表格
                table.reload(BoContent.id);
            }
        });

        return false;
    };

    /**
     * 点击删除按钮
     * @param id
     */
    BoContent.delete = function(id){
        layer.open({
            title: '删除内容'
            ,content: '是否确定删除该内容？'
            ,icon: 3
            ,btn: ['确定', '取消']
            ,yes: function(index, layero){
                layer.close(index);
                var indexLoad = layer.load(2);
                var url = '/web/boContent/delete';
                $.post(url, {id: id}, function(data){
                    layer.close(indexLoad);
                    if(data.state == "200"){
                        layer.msg(data.message, {icon: 1});
                        table.reload(BoContent.id);
                    }else{
                        layer.msg(data.message, {icon: 2});
                    }
                })
            }
        });

        return false;
    };


    //监听表格复选框选择
    // table.on('checkbox(currentTableFilter)', function (obj) {
    //     console.log(obj)
    // });

    //监听工具条
    table.on('tool(' + BoContent.id + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;

        if (layEvent === 'delete') {
            BoContent.delete(data.id);
        } else if (layEvent === 'edit') {
            BoContent.edit(data.id)
        }
    });

});